A Fast Java Interpreter
نویسندگان
چکیده
The Java virtual machine (JVM) is usually implemented with an interpreter or just-in-time (JIT) compiler. JITs provide the best performance, but must be substantially rewritten for each architecture they are ported to. Interpreters are easier to develop and maintain, need less memory and can be ported to new architectures with almost no changes. The weakness of interpreters is that they are much slower than JITs. This paper describes work in progress on faster Java interpreters. Our goal is to bring interpreter performance to a new higher level by developing new optimisations for modern computer architectures, and by adapting recent research on compilers to interpreters.
منابع مشابه
An ultra-lightweight Java interpreter for bridging CS1
This paper presents an ultra-lightweight Java interpreter for use in teaching CS1 courses. The interpreter is targeted specifically at complete beginner programmers and addresses aspects particularly relevant or troublesome to novices, such as expressions, method calls, method calls as sub-expressions, and recursion. The interpreter works on a subset of Java and is intended as a bridge to a mor...
متن کاملImplementing an Eecient Java Interpreter
The Java virtual machine (JVM) is usually implemented with an interpreter or just-in-time (JIT) compiler. JIT compilers provide the best performance, but must be substantially rewritten for each architecture they are ported to. Interpreters are easier to develop and maintain, and can be ported to new architectures with almost no changes. The weakness of interpreters is that they are much slower...
متن کاملImplementing an E cient Java
The Java virtual machine (JVM) is usually implemented with an interpreter or just-in-time (JIT) compiler. JIT compilers provide the best performance, but must be substantially rewritten for each architecture they are ported to. Interpreters are easier to develop and maintain, and can be ported to new architectures with almost no changes. The weakness of interpreters is that they are much slower...
متن کاملMixed-mode Bytecode Execution
Modern high-performance virtual machines use dynamic compilation. There is a tension between compilation speed and code quality. We argue that a highly-optimizing compiler is best deployed with both a fast, less-optimizing compiler and an interpreter. We present measurements showing that such a system can achieve the same peak performance as a system with just the optimizing compiler, and start...
متن کاملOptimizations for a Java Interpreter Using Instruction Set Enhancement
Several methods for optimizing Java interpreters have been proposed that involve augmenting the existing instruction set. In this paper we describe the design and implementation of three such optimizations for an efficient Java interpreter. Specialized instructions are new versions of existing instructions with commonly occurring operands hardwired into them, which reduces operand fetching. Sup...
متن کامل